var id_carte = '';

var possibiliteactive = 0;

var scan_carte = false;

var bloquee = 0;

function bloquer() {
	init();
	$('#bloquer').addClass("hover");
	$('#bloquer').html('<h3>Mode blocage activé</h3>Cliquez ou "Entree" pour confirmer');
	possibiliteactive=1;
}

function init() {
	if(bloquee == 0) {
		$('#possibilites').html('<div class="block" id="bloquer" ><h3>1 : Blocage de la carte</h3></div><br/><div class="block" id="carte"><h3> 2 : Paiement par carte </h3></div><br/><div class="block" id="cheque"><h3> 3 : Paiement par chèque </h3></div><br/><div class="block" id="histo"><h3> 4 : Afficher historique </h3></div>');

		document.getElementById("bloquer").addEventListener("click", function() {
			if(possibiliteactive!=1) {
				bloquer();
			} else if(possibiliteactive==1) {
				$.post("bloquer",{ formname : 'block'},function(data){possibiliteactive=0; bloquee=1;init();});
			}
		}, false);

		/*document.getElementById("especes").addEventListener("click",function() {
		if(possibiliteactive!=2)
		{
		paiement_especes();
		$('#solde').focus();
		}
		},false);*/

		document.getElementById("carte").addEventListener("click",function() {
			if(possibiliteactive!=3) {
				paiement_carte();
				$('#solde').focus();
			}
		},false);

		document.getElementById("cheque").addEventListener("click",function() {
			if(possibiliteactive!=4) {
				paiement_cheque();
				$('#solde').focus();
			}
		},false);

		document.getElementById("histo").addEventListener("click",function() {
			if(possibiliteactive!=5) {
				affichage_histo();
			}
		},false);


	} else {
		$('#possibilites').html('<div class="block hover"id="debloquer"><h3> Débloquer la carte</h3> Cliquez ou Entree pour confirmer </div>');

		document.getElementById("debloquer").addEventListener("click",function() {
			if(bloquee==1) {
				$.post("debloquer",{ formname : 'unblock'},function(data){possibiliteactive=0; bloquee=0; init();});
			}
		},false);

	}
}

//Affichage de l'historique 
function affichage_histo() {
	$.post("histo",function(data){$('#div_histo').html(data);init();
	$('#historique').dataTable({"sPaginationType": "full_numbers",
		"sdom":'T<"clear">lfrtip',
		"oTableTools":{ "sSwfPath": "swf/copy_cvs_xls_pdf.swf", aButtons:["pdf","xls","print"] },
		"bFilter":false,
		"oLanguage":{
			"sProcessing":   "Traitement en cours...",
			"sLengthMenu":   "Afficher _MENU_ &eacute;l&eacute;ments",
			"sInfo":         "&Eacute;l&eacute;ments _START_ &agrave; _END_ sur _TOTAL_ ",
			"oPaginate": {"sFirst":    "Premier","sPrevious": "Pr&eacute;c&eacute;dent","sNext":     "Suivant","sLast":     "Dernier"}
		},
		"aLengthMenu": [[20, 50, 1000, -1], [20, 50, 100, "Tous"]],
		"aoColumns": [
		              null, // Column 1 uses default
		              {"sSortDataType": "dom-text", "sType": "date-euro"}, // Column 2 dataType = date-euro
		              {"sSortDataType": "dom-text"}, // Column 3 uses default
		              {"sSortDataType": "dom-text"}, // Column 4 use default
		              {"sSortDataType": "dom-text"}, // Column 5 uses default
		              ]
	});
	});
}


function paiement_especes() {
	init();
	$('#especes').addClass("hover");
	$('#especes').html('<h3>Mode especes activé<h3/> Montant de la recharge : <input type="text" id="solde"></input>');
	possibiliteactive=2;
}

function paiement_carte() {
	init();
	$('#carte').addClass("hover");
	$('#carte').html('<h3> Mode carte activé <h3/>Montant de la recharge : <input type="text" id="solde"></input><br/> Numeros de la carte: <input type="text" id="renseignement"></input>');
	possibiliteactive=3;
}

function paiement_cheque() {
	init();
	$('#cheque').addClass("hover");
	$('#cheque').html('<h3> Mode cheque activé <h3/>Montant de la recharge : <input type="text" id="solde"></input><br/> Numeros du cheque : <input type="text" id="renseignement"></input>');
	possibiliteactive=4;
}


function initialize() {

//	Choix du mode de paiement
	document.addEventListener('keyup', function(e) {
		if(bloquee==0 && !scan_carte) {
			if (e.which == 49) { // 1
				bloquer();
			}
			/*else if (e.which == 50) { // 2
			paiement_especes();
			$('#solde').focus();
		}*/
			else if (e.which == 50) { // 3
				paiement_carte();
				$('#solde').focus();
			} else if (e.which == 51) { // 4
				paiement_cheque();
				$('#solde').focus();
			} else if (e.which == 52) { // 5
				affichage_histo();
			}
		}
	}, false);

	document.addEventListener('keyup', function(e) {
		// Gerer la touche d'échappement
		if (e.which == 27) { 
			if(possibiliteactive != 0) {//un moyen de paiement est actif, on annule pour revenir à la page de base
				possibiliteactive=0;
				init();
			} else if(id_carte!='') {//Retour au scann d'une carte
				$('#possibilites').html('');
				id_carte='';
				$('#infosclients').html('<h3>Entrez un login ou numéro de carte</h3><input type="text" id="login"></input><h3> ou scannez une carte</h3>');
				$('#solde').focus();
			} else {//Retour au choix des modules
				$(window.location).attr('href', '/index/modulechoice');
			}
		}

	}, false);



	document.addEventListener('keyup', function(e) {
		// GESTION DE LA TOUCHE ENTREE
		if (e.which == 13 ) { 
			if(id_carte==''&& !scan_carte && possibiliteactive==0 && bloquee==0) {//Aucune carte n'a été scannée
				$.post("nouveauclient",{ login : $('#login').val(), id_carte : id_carte},
						function(data) {
					if(data.succes==1) {
						$('#infosclients').html(data.infos+'');
						$('#erreurclient').html('');
						possibiliteactive = 0;
						bloquee = data.bloquee;
						id_carte = data.id_carte;
						$('#carte-id').val(id_carte);
						init();
					} else {
						$('#erreurclient').html('carte ou login invalide');
					}
				},"json");
			} else if(possibiliteactive == 1) {//Mode Blocage de carte actif

				$.post("bloquer",{ formname : 'block'},function(data){ possibiliteactive=0; bloquee=1; init();});

			} else if(bloquee == 1) {//Cas où la carte est déjà bloquée

				$.post("debloquer",{ formname : 'unblock'},function(data){possibiliteactive=0; bloquee=0;init();});

			} else if(possibiliteactive == 2) {//Cas d'un paiement en espèces

				var s = $('#solde').val()+'';
				$.post("recharger",{ solde:s ,moyen:'especes'},function(data){$('#infosclients').html(data); init();});

			} else if(possibiliteactive == 3) {//Cas d'un paiement par carte

				$.post("recharger", {
					solde: $('#solde').val(),
					moyen: 'carte',
					renseignement: $('#renseignement').val(),
					carteId: $('#carte-id').val()
				},
				function(data) {
					$('#infosclients').html(data); init();
				});

			} else if(possibiliteactive == 4) {//Cas d'un paiement par chèque
				$.post("recharger", {
					solde: $('#solde').val(),
					moyen: 'cheque',
					renseignement: $('#renseignement').val(),
					carteId: $('#carte-id').val()
				},
				function(data) {
					$('#infosclients').html(data); init();
				});
			}
		}
	}, false);

	// Scan codebar or execute research

	document.addEventListener('keyup', function(e) {
		if ((e.which >= 65 && e.which <= 90) || (e.which >= 96 && e.which <= 105) || (e.which >= 48 && e.which <= 57)) {

			id_carte += String.fromCharCode(e.which);
			scan_carte=true;
			setTimeout(function() {id_carte = '';scan_carte=false;}, 250);

		} else if (id_carte != '' && e.which == 13 && scan_carte && possibiliteactive==0) {
			$.post("nouveauclient",{id_carte : id_carte},
					function(data){
				if(data.succes==1) {
					$('#infosclients').html(data.infos+'');
					$('#erreurclient').html('');possibiliteactive=0;
					bloquee=data.bloquee;
					id_carte=data.id_carte;
					init();
				} else {
					$('#erreurclient').html('carte ou login invalide');
				}
			},"json");
			scan_carte=false;

		}
	}, false);

}



$('#body').load(initialize());